const Koa = require('koa')
const Router = require('koa-router')

// 实例化
const app = new Koa()
const router = new Router()

//路由配置  ctx(context):上下文,包含了request和response等等
router.get('/', async (ctx) => {
  ctx.body = '首页' // 返回数据，相当于原生的res.writeHead() res.send()
}).get('/news', async (ctx) => {
  ctx.body = '新闻页面' 
})

//启动路由
/*
router.allowedMethods作用： 这是官方文档的推荐用法,我们可以 看到 router.allowedMethods()用在了路由匹配 
router.routes()之后,所以在当所有 路由中间件最后调用.此时根据 ctx.status 设置 response 响应头
*/
app.use(router.routes()) //启动路由
   .use(router.allowedMethods()) //可以配置，也可以不配置，建议配置

app.listen(3000)